1. Field of the Invention
The present invention relates generally to a computer implemented method, a computer program product, and a data processing system. More specifically, the present invention relates to a computer implemented method, a computer program product, and a data processing system for provisioning virtual machines within a virtual desktop environment.
2. Description of the Related Art
There is a broad industry initiative toward moving away from the traditional personal computer on every desktop to a model wherein each person's operating system and applications are hosted in the datacenter, and the user can attach to this remotely using a simple user interface device on his desktop. One of the solution concepts for this initiative is a “virtual desktop” wherein each user is provided a private virtual machine hosted on a server in the datacenter. One of the promised values of this model is efficient use of computing resources by deploying only those virtual machines needed to support the users logged on at any one moment. The best efficiency of resource usage can be achieved by deploying client virtual machines ‘just in time’ to meet the user demand. The efficiency of ‘just in time’ deployment is limited by the time in which it takes to deploy a new client.
These hosting datacenters are also referred to as logical partitioned (LPAR) data processing systems. A logical partitioned functionality within a data processing system allows multiple copies of a single operating system or multiple heterogeneous operating systems to be simultaneously run on a single data processing system platform. A partition, within which an operating system image runs, is assigned a non-overlapping subset of the platforms resources. These platform allocable resources include one or more architecturally distinct processors and their interrupt management area, regions of system memory, and input/output (I/O) adapter bus slots. The partition's resources are represented by the platform's firmware to the operating system image.
Each distinct operating system or image of an operating system running within a platform is protected from each other such that software errors on one logical partition cannot affect the correct operation of any of the other partitions. This protection is provided by allocating a disjointed set of platform resources to be directly managed by each operating system image and by providing mechanisms for ensuring that the various images cannot control any resources that have not been allocated to that image. Furthermore, software errors in the control of an operating system's allocated resources are prevented from affecting the resources of any other image. Thus, each image of the operating system or each different operating system directly controls a distinct set of allocable resources within the platform.
With respect to hardware resources in a logical partitioned data processing system, these resources are shared disjointly among various partitions. These resources may include, for example, input/output (I/O) adapters, memory DIMMs, non-volatile random access memory (NVRAM), and hard disk drives. Each partition within a logical partitioned data processing system may be booted and shut down over and over without having to power-cycle the entire data processing system.
A second aspect of the Virtual Desktop value proposition is associated with the cost of storing the user's client image (i.e. his boot disk or C: drive in the Windows vernacular). Desktop PC storage typically has a much lower cost per byte than datacenter storage. This difference is typically up to 10 times greater for datacenter storage than for desktop personal computer storage and can be as high as 1000 times greater for datacenter storage. This storage cost is a key contributor to the cost model for Virtual Desktop, and therefore methods which can mitigate the cost overhead of storing the user's environment and data in the datacenter has a dramatic impact on the competitiveness of Virtual Desktop.